#include "headfiles.h"
#include <iostream>

using namespace std;

int main(int argc, char **argv) {
	if (argc != 2) {
		cout << "Usage: " << argv[0] << "dist_matrix_file" << endl;
		return 0;
	}

	string file_name(argv[1]);

	Graph grh;

	// construct the graph
	grh.create(file_name.c_str());

	// breadth first search the graph
	cout << "Breath first search the graph:" << endl;
	grh.breathFirstSearch();

	// deep first search the graph
	cout << "Deep first search the graph:" << endl;
	grh.deepFirstSearch();

	// deap first search with recursive
	cout << "Deep first search the graph:" << endl;
	grh.deepFirstSearchRecur();

	cout << "Shortest path from node 0:" << endl;
	grh.shortestPath(0);

	return 1;
}

